package zooin.net;

import java.security.InvalidAlgorithmParameterException;
import java.util.ArrayList;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.app.ListActivity; 


public class setList extends ListActivity {
	private static final int REPORT_MSG = 0;
	protected String INTENT_VAL ="";
	public static String INTENT_USER="userid";
	public function fc = new function();
	ArrayAdapter<String> m_adapter;
	ListView listView;
	Button button;
	String[] _IP_List={"40.0.0.2","203.170.97.130","192.168.10.138","112.216.30.98"};
	String[] _D_List={"서비스계","서비스계(ex.)","개발계","개발계(ex.)"};
	String[] _L_List={"2001-Daegu","MTCC","ZOOINNET"};
	String[] _M_List={"디버깅모드 사용안함","디버깅모드 사용중"};/*
	String[] _Mem_List={"회원가입","회원정보 수정"};*/
	DBManager dManager;
	int findedNum;
	String findedIP;
    int thisNum; //현재 보이는 자료의 primary key 에 해당하는  num 값 저장할 변수
    private String pUserIdx, thisIP, pId ,logo, login,dMode;
	private String pCate;
    int mSelect = 0;
    int mSelect2 =0;
    int mSelect3 =0;
    int snum,dnum,lNum =0;
	private SharedPreferences pref =null;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);		
         
        pref    = getSharedPreferences("userInfo",Activity.MODE_PRIVATE);
        SharedPreferences prefs = getSharedPreferences("userInfo", MODE_PRIVATE);
        pUserIdx	= prefs.getString("pUserIdx", "");
        pId	= prefs.getString("pId", "");
        logo = prefs.getString("logo", "");
        thisIP = prefs.getString("thisIP", ""); 
        pCate = prefs.getString("pCate", ""); 
        dMode = prefs.getString("dMode", ""); 
        
  
        //도메인 리스트
	    	thisNum = 0;
	    	if(thisIP==null | thisIP==""){
	    		login = "도메인 설정";
	    	}else{
	    		
	    		for(int i= 0 ;i < 4; i++)
		    	{
		    		if ( _IP_List[i].equals(thisIP) ) thisNum = i;
		    	}
		    	login = _D_List[thisNum] +"에 연결됨";
	    	}
	    	
	    	lNum = 0;
	    	if(logo==null | logo==""){
	    		
	    	}else{
	    		
	    		for(int i= 0 ;i < 3; i++)
		    	{
		    		if ( _L_List[i].equals(logo) ) lNum = i;
		    	}
	    		logo = _L_List[lNum];
	    	}	
	    	
    	//로그인 아이디 ,회원가입,수
		  if(pId==null | pId==""){
			  snum=0;
		  }else{
			  snum=1;
		  }
    	
		//디버그 모드
			
		  if(dMode==null | dMode=="" | dMode=="d"){
			 // Toast.makeText(setList.this, dMode, 0).show();
			  dnum=0;
		  }else{
			 // Toast.makeText(setList.this, dMode, 0).show();
			  dnum=1;
		  }
    	
    	String[] _I_List={"로그인정보 없음",pId+"님로그인 중"};
    	
    	    	
        setContentView(R.layout.listsetting2);
		
		ArrayList<Setting> m_orders = new ArrayList<Setting>();
		
		Setting s1 = new Setting("로그인 정보", _I_List[snum]); // 리스트에 추가할 객체입니다. 
		Setting s2 = new Setting("도메인", login); // 리스트에 추가할 객체입니다. 
		Setting s3 = new Setting("로고", logo); // 리스트에 추가할 객체입니다. 
		Setting s4 = new Setting("디버깅 모드", _M_List[dnum]); // 리스트에 추가할 객체입니다. 	   
		Setting s5 = new Setting("Zplayer 버전", " v0.7.21"); /*// 리스트에 추가할 객체입니다.    
		Setting s6 = new Setting(_Mem_List[snum], ""); // 리스트에 추가할 객체입니다.    
		Setting s7 = new Setting("로그아웃", ""); // 리스트에 추가할 객체입니다. 	    
*/		m_orders.add(s1); // 리스트에 객체를 추가합니다. 
		m_orders.add(s2); // 리스트에 객체를 추가합니다. 	  
		m_orders.add(s3); // 리스트에 객체를 추가합니다. 
		m_orders.add(s4); // 리스트에 객체를 추가합니다. 	  
		m_orders.add(s5); /*// 리스트에 객체를 추가합니다.
		m_orders.add(s6); // 리스트에 객체를 추가합니다. 	  
		m_orders.add(s7); // 리스트에 객체를 추가합니다. 
*/		DomainAdapter m_adapter = new DomainAdapter(this, R.layout.row2, m_orders);
		// 어댑터를 생성합니다. 
	   	setListAdapter(m_adapter); //  	   	
	   	
 }
    

	private class DomainAdapter extends ArrayAdapter<Setting> { 
    
    	private ArrayList<Setting> items; 
       	public DomainAdapter(Context context, int textViewResourceId, ArrayList<Setting> items) {                 
       		super(context, textViewResourceId, items);                   
       		this.items = items;        
    	}      
    	@Override          
    	public View getView(int position, View convertView, ViewGroup parent) {                 
    		View v = convertView; 
            if (v == null) {                      
            	LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);                        
            	v = vi.inflate(R.layout.row2, null); 
                    
            }              
            Setting s = items.get(position); 
             
    	if (s != null) {                      
	    	TextView tt = (TextView) v.findViewById(R.id.toptext);                        
	    	TextView bt = (TextView) v.findViewById(R.id.bottomtext);                         
    	if (tt != null){                         
    		tt.setText(s.getName());                                      
    	} 
                          
    	if(bt != null){                              
    		bt.setText(s.getNumber());                        
    		}                 
    	}              
    		return v;            
    	} 
    } 
 	class Setting { 
    	private String Name;  
    	private String Number;      
    	public Setting(String _Name, String _Number){          
    		this.Name = _Name;        
    		this.Number = _Number; 
    	} 
        
    	public String getName() {      
    		return Name;        
    	}      
    	public String getNumber() {         
    		return Number;      
    	}   
   	}

 	
 	protected void onListItemClick(ListView l, View v, int position, long id) {
    	pref    = getSharedPreferences("userInfo",Activity.MODE_PRIVATE);
 		super.onListItemClick(l, v, position, id);
		switch (position) {
		case 0:	
			  Intent intentl = new Intent(setList.this,Login.class);
				startActivity(intentl);
				setList.this.finish();
			break;
		case 1:
		
	    	thisNum = 0;
	    	for(int i= 0 ;i < 4; i++)
	    	{
	    		if ( _IP_List[i].equals(thisIP) ) thisNum = i;
	    	}
	    	
	    	mSelect = thisNum;
	    	//Toast.makeText(setList.this, "아이피:"+thisNum, 0).show();
			new AlertDialog.Builder(setList.this).setTitle("도메인설정").setSingleChoiceItems(R.array.domainip, mSelect,
					new DialogInterface.OnClickListener(){
					public void onClick(DialogInterface dialog, int which) {
						mSelect = which;
					}
					}).setPositiveButton("확인", new DialogInterface.OnClickListener() {								
						@Override
						public void onClick(DialogInterface dialog, int whichButton) {
							String str = _IP_List[mSelect];		    	
					    	
		    		        SharedPreferences.Editor editor = pref.edit();
			    		        //IP셋팅
			    		        editor.putString("thisIP", str);
			    		        editor.remove("pUserIdx");
			    		        editor.remove("pId");
			    		        editor.commit();
			    		        onCreate(null);     
						}		
						
					}).setNegativeButton("취소", null).show();  
			
			break;
		case 2:		  
			mSelect2 = lNum;		   
				new AlertDialog.Builder(setList.this).setTitle("로고").setSingleChoiceItems(R.array.logoL, mSelect2,
						new DialogInterface.OnClickListener(){
						public void onClick(DialogInterface dialog, int which) {
							mSelect2 = which;
						}
						}).setPositiveButton("확인", new DialogInterface.OnClickListener() {								
							@Override
							public void onClick(DialogInterface dialog, int whichButton) {
								String str = _L_List[mSelect2];
								SharedPreferences.Editor editor = pref.edit();
				    		        //로고셋팅
				    		        editor.putString("logo", str);
				    		        editor.commit();
				    		        onCreate(null);   
				    		     
				    		        
							}		
							
						}).setNegativeButton("취소", null).show();  
				
				break;
		case 3:
			mSelect3 = dnum;
			new AlertDialog.Builder(setList.this).setTitle("디버깅모드").setSingleChoiceItems(_M_List, mSelect3,
			new DialogInterface.OnClickListener(){
			public void onClick(DialogInterface dialog, int which) {
				mSelect3 = which;
			}
			}).setPositiveButton("확인", new DialogInterface.OnClickListener() {								
				@Override
				public void onClick(DialogInterface dialog, int whichButton) {
					String str;
					if(mSelect3 ==0){
							str = "d";
						}else{
							str="dm";
						}
						SharedPreferences.Editor editor = pref.edit();
	    		        //로고셋팅
	    		        editor.putString("dMode", str);
	    		       
	    		        editor.commit();
	    		        onCreate(null);   
	    		     
	    		        
				}		
				
			}).setNegativeButton("취소", null).show();  	
			
				break;
		case 4:
		//	Toast.makeText(setList.this, msg+"2인덱스값:"+position, 0).show();
			break;
			default:
				break;
			}		
 	}

	@Override
	    public void onBackPressed() {
	setList.this.finish();
	}
	
}


